package com.wxx.model.sdk;

import lombok.Getter;
import lombok.Setter;

/**
 * 企业付款 ，转到到用户微信
 */
@Getter
@Setter
public class WeChatTransfer {
    /**
     * 申请商户号的appid或商户号绑定的appid
     * 示例值 wx8888888888888888
     * String(128)
     * 是否必须 Y
     */
    private String mch_appid;

    /**
     * 商户号
     * 微信支付分配的商户号
     * 示例值 1900000109
     * String(32)
     * 是否必须 Y
     */
    private String mchid;

    /**
     * 微信支付分配的终端设备号
     * 示例值 013467007045764
     * String(32)
     * 是否必须 N
     */
    private String device_info;

    /**
     * 随机字符串
     * 随机字符串，不长于32位。
     * 示例值 5K8264ILTKCH16CQ2502SI8ZNMTM67VS
     * String(32)
     * 是否必须 Y
     */
    private String nonce_str;

    /**
     * 签名
     * 示例值 C380BEC2BFD727A4B6845133519F3AD6
     * String(32)
     * 是否必须 Y
     */
    private String sign;

    /**
     * 商户订单号，需保持唯一性(只能是字母或者数字，不能包含有其他字符)
     * 示例值 10000098201411111234567890
     * String(32)
     * 是否必须 Y
     */
    private String partner_trade_no;

    /**
     * 用户openid
     * 商户appid下，某用户的openid
     * 示例值 	oxTWIuGaIt6gTKsQRLau2M0yL16E
     * String(64)
     * 是否必须 Y
     */
    private String openid;

    /**
     * 校验用户姓名选项
     * NO_CHECK：不校验真实姓名
     * FORCE_CHECK：强校验真实姓名
     * 示例值 	FORCE_CHECK
     * String(16)
     * 是否必须 Y
     */
    private String check_name;

    /**
     * 收款用户姓名
     * 收款用户真实姓名。 如果check_name设置为FORCE_CHECK，则必填用户真实姓名
     * 示例值 王小王
     * String(64)	收款用户真实姓名。
     * 是否必须 N
     */
    private String re_user_name;

    /**
     * 金额
     * 被微信风控拦截，最低单笔付款限额调整为5元。最高200w
     * 企业付款金额，单位为分
     * 示例值 10099
     * int
     * 是否必须 Y
     */
    private Integer amount;

    /**
     * 企业付款备注
     * 企业付款备注，必填。
     * 示例值 理赔
     * 是否必须 Y
     * String(100)
     */
    private String desc;

    /**
     * Ip地址
     * 该IP同在商户平台设置的IP白名单中的IP没有关联，该IP可传用户端或者服务端的IP
     * 示例值 192.168.0.1
     * 是否必须 Y
     * String(32)
     */
    private String spbill_create_ip;

}
